A complete software distribution and desktop management system for computer networks requires features such as automatic profiling of applications, control and management of the distribution of software, mass customization of computers on the network, and total support for a Windows 95 or NT based operating system. Present software distribution and desktop management systems such as Microsoft Systems Management Server (SMS), Seagate's Wininstall, Symantec Norton Network Administrator Suite (NAS), McAfee Associates Saber LAN Workstation, Tangram AM/PM, and Novell Netware Navigator, only provide some of these features and only to a certain extent. Moreover, while automated software distribution is highly desirable, a significant problem exists when multiple workstations attempt to perform simultaneous downloads. Workstations attempting to simultaneously distribute software in a networked LAN or WAN environment may experience significant degradation in system performance because of resource contention. Such degradation may be manifest in system timeouts, data transfer errors, excessive wait times, or data base lockouts, to name a few. When large networks of 255 or more workstations are involved, such problems arising from simultaneous software distribution attempts are particularly significant, and may result in intolerable network delays or outright failures in distributing the software to the intended platforms.
Prior attempts to limit the number of simultaneous software distributions have focused primarily on manual efforts by an administrator who sequentially distributes software to each intended platform (i.e. workstation) by manually performing the distribution at a particular location and then proceeding to the next target platform, or by setting a plurality of time intervals or windows, (i.e. one window per target platform), during which the distribution may occur at each location. Both processes, however, are slow and inefficient, requiring an administrator to spend extraordinary time either performing the distributions or determining the relevant distribution windows and hopefully estimating the appropriate number of users that may distribute during a given time interval without causing a resource conflict. However, if such conflicts occur, such as simultaneous attempts to access the data base, causing system lockouts or transfer errors, no clean method of scaling back the number of users requesting access is currently available.
Consequently, a need exists for efficiently controlling the maximum number of workstation agents which may perform distributions simultaneously. A need also exists to provide a method in which the number of users can be scaled back (or enhanced) based on existing network resources and current or prospective network activity.
The present invention provides a system and method for controlling and/or limiting the number of simultaneous software distributions so that there is no significant degradation in system performance (i.e. timeouts, transfer errors, excessive wait time, etc.) during platform distribution. The present invention provides a token server for issuing tokens to each requesting agent on a workstation downloading applications in order to control the number of simultaneous distributions. The present invention also provides a main console screen which allows an administrator to specify a number of configurable parameters, including the number of tokens available, representing the maximum number of simultaneous jobs.
The present invention provides a graphical interface for viewing and modifying changes to the registry giving the administrator complete control over the registry, including the ability to update and modify parameter values.
Accordingly, it is an object of the present invention to provide a complete software distribution and desktop management system for a computer network environment. It is a further object of the present invention to provide a software distribution and desktop management system with full integration into a graphical user interface based operating system. Still a further object of the present invention is to provide a mechanism to control the maximum number of agents that may perform the software distributions simultaneously.